package com.flyqiu.common.sc.calculate;

/**
 * 抽象基类，用于字符串计算的基础实现。
 * 提供了一些基本的方法来处理 String 类型的数据。
 */
public abstract class FlyQiuStrBaseCalculate implements FlyQiuCalculate<String> {

    /**
     * 获取默认值。
     *
     * @return 默认值，默认为空字符串 ""
     */
    @Override
    public String getDefVal() {
        return "";
    }

    /**
     * 将对象转换为 String 类型。
     *
     * @param value 要转换的对象
     * @return 转换后的 String 对象，如果对象为 null，则返回 null
     */
    @Override
    public String convert(Object value) {
        if (value == null) {
            return null;
        }
        return String.valueOf(value);
    }

    /**
     * 获取计算值的类类型。
     *
     * @return 计算值的类类型，即 String.class
     */
    @Override
    public Class<String> getCalculateValueClazz() {
        return String.class;
    }
}
